@echo off
chcp 65001 >nul
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION

REM 脚本目录
set "BASEDIR=%~dp0"
set "EXE=%BASEDIR%dist\StardewModTranslator.exe"
set "CFG=%BASEDIR%config.json"

if not exist "%EXE%" (
  echo [错误] 未找到: %EXE%
  echo 请先打包，或将 StardewModTranslator.exe 放到 dist\
  pause
  exit /b 1
)

if not exist "%CFG%" (
  echo [提示] 未在本目录发现 config.json。
  echo 请将你的 config.json 放到: %BASEDIR%
  echo 程序也会尝试读取 EXE 所在目录的 config.json。
)

:MENU
cls
echo ===============================================
echo  星露谷 Mod 翻译器 - 启动菜单
echo  EXE: %EXE%
echo ===============================================
echo  1) 自动模式运行（优先注册表，其次当前目录）
echo  2) 指定 Mods 路径运行
echo  3) 恢复备份（自动模式）
echo  4) 恢复备份（指定 Mods 路径）
echo  q) 退出
echo ===============================================
set /p CHOICE="请选择 [1-4/q]: "

if /i "%CHOICE%"=="1" goto RUN_AUTO
if /i "%CHOICE%"=="2" goto RUN_WITH_PATH
if /i "%CHOICE%"=="3" goto RESTORE_AUTO
if /i "%CHOICE%"=="4" goto RESTORE_WITH_PATH
if /i "%CHOICE%"=="q" goto END

echo 无效的选择。
pause
goto MENU

:RUN_AUTO
"%EXE%"
echo. & echo 完成。
pause
goto MENU

:RUN_WITH_PATH
set "MODS_PATH="
echo 请输入 Mods 目录的完整路径（例如 C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Mods）
set /p MODS_PATH=Mods 路径: 
if "%MODS_PATH%"=="" (
  echo 未输入路径。
  pause
  goto MENU
)
if not exist "%MODS_PATH%" (
  echo [错误] 路径不存在: %MODS_PATH%
  pause
  goto MENU
)
"%EXE%" --path "%MODS_PATH%"
echo. & echo 完成。
pause
goto MENU

:RESTORE_AUTO
"%EXE%" --restore
echo. & echo 恢复完成。
pause
goto MENU

:RESTORE_WITH_PATH
set "REST_PATH="
echo 请输入要恢复的 Mods 目录完整路径：
set /p REST_PATH=Mods 路径: 
if "%REST_PATH%"=="" (
  echo 未输入路径。
  pause
  goto MENU
)
if not exist "%REST_PATH%" (
  echo [错误] 路径不存在: %REST_PATH%
  pause
  goto MENU
)
"%EXE%" --path "%REST_PATH%" --restore
echo. & echo 恢复完成。
pause
goto MENU

:END
endlocal
exit /b 0
